Flexible metaprogramming and AOP in Java
نویسندگان
چکیده
Advanced programming techniques such as metaprogramming and computational reflection, as well as the more recent paradigm of aspect-oriented programming (AOP), serve important objectives of software engineering such as modularization and adaptability. In this tool presentation paper, we briefly overview this area and present Reflex, a tool for flexible metaprogramming and AOP in Java. Based on a uniform model of partial reflection, Reflex provides both structural and behavioral facilities, which makes it easy to experiment with (combinations of) advanced uses of AOP and reflection without reinventing the wheel or being limited to a specific AOP language.
منابع مشابه
An agent-oriented programming approach for C++-based simulation models
Agent-based simulation (ABS) has shown great success for the study of complex adaptive systems which are hard or even impossible to analyse using conventional analytical techniques. For reasons of performance and flexibility, non-trivial ABS models are often implemented in general purpose programming languages like Java or C++. As a consequence of the generality of those languages, simulation-b...
متن کاملAdaptiveness of Software Systems Using Reflection
This paper deals with basic principles of metaprogramming and reflection with connection to aspect-oriented programming (AOP). Metaprogramming is about writing programs that represents and manipulate other programs or themselves, i.e. metaprograms are programs about programs. The impact of metaprogramming is obvious in traditional development processes, by sorting existing programs as transform...
متن کاملGeneric Advice: On the Combination of AOP with Generative Programming in AspectC++
Besides object-orientation, generic types or templates and aspectoriented programming (AOP) gain increasing popularity as they provide additional dimensions of decomposition. Most modern programming languages like Ada, Eiffel, and C++ already have built-in support for templates. For Java and C# similar extensions will be available in the near future. Even though promising, the combination of as...
متن کاملA Versatile Kernel for Distributed AOP
Aspect-Oriented Programming (AOP) promotes better separation of concerns in software systems by introducing aspects for the modular implementation of crosscutting concerns. As a result, modularity and adaptability of software systems are greatly enhanced. To date, very few AOP proposals take distribution into account. This paper considers the explicit introduction of distribution in AOP, by pro...
متن کاملAspect-Oriented Logic Meta Programming
We propose to use a logic meta-system as a general framework for aspect-oriented programming. We illustrate our approach with the implementation of a simpli ed version of the cool aspect language for expressing synchronization of Java programs. Using this case as an example we illustrate the principle of aspect-oriented logic meta programming and how it is useful for implementing weavers on the...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Sci. Comput. Program.
دوره 72 شماره
صفحات -
تاریخ انتشار 2008